/**
 * Copyright (C) 2018-2021
 * All rights reserved, Designed By www.yixiang.co

 */
package co.yixiang.modules.distributor.domain;

import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import co.yixiang.domain.BaseDomain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
import lombok.experimental.Accessors;

import java.util.Date;

/**
* @author ysl
* @date 2021-11-21
*/

@Builder
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@ToString
@TableName(value = "yx_distributor",autoResultMap = true)
public class YxDistributor extends BaseDomain {

    /** 用户id */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;


    /** 分销商id */
    private String distributorId;




    /** 分销商名称 */
    private String distributorName;



    /** 联系人 */
    private String linkMan;


    /** 联系电话 */
    private String linkTel;


    /** 渠道 */
    private String channel;


    /** 终端数量 */
    private Integer terminalQuantity;


    /** Weixin */
    private String weixin;


    /** qq */
    private String qq;


    /** 仓库地址 */
    private String wareHouse;


    /** 用户头像 */
    private String address;


    /** 发票类型:0-不开票,2-开票 */
    private Integer invoiceType;



    /** 发票抬头 */
    private String invoiceTitle;



    /** 税号 */
    private String invoiceTax;


    /** 发票地址 */
    private String invoiceAddress;


    /** 发票电话 */
    private String invoiceTel;


    /** 开户行 */
    private String invoiceBank;


    /** 开户行行号 */
    private String invoiceBankNo;


    /** 业务担当 */
    private String header;


    /** 合作状态：1-未合作，2-已终止，4-战略合作，8-深度合作，16-普通合作 */
    private Integer cooperate;


    /** 发货要求 */
    private String deliveryRemark;


    /** 合作日期 */
    private Date cooperateDate;


    /** 是否返点 */
    private Integer isRebate;


    /** 月返比例 */
    private Integer monthRebateRatio;


    /** 年返比例 */
    private Integer yearRebateRatio;


    /** 结算方式:1-现款，2-月结/期结，4-代销月结，8-授信月结 */
    private Integer settleMethod;



    /** 入账时间 */
    private String feeIncomeDate;


    /** 最迟结款时间  */
    private String lastFeeIncomeDate;


    /** 保证金 */
    private Integer cashDeposit;

    /** 收件人 */
    private String consignee;

    /** 收件人电话 */
    private String consigneeTel;

    /** 对账日期 */
    private String verifyDate;

    /** 结算日期 */
    private String closeDate;

    /** 是否单独报价 */
    private Integer customPrice;

    /** 修改人 */
    private String operater;

    /** 修改时间 */
    private Date operateTime;


    public void copy(YxDistributor source){
        BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
    }
}
